﻿using System;
namespace Kyoh.Lib.WinForms
{
    /// <summary><see cref="FlaggedEnumEditor"/> クラスで使用する、列挙型のラッパー属性を定義します。</summary>
    public sealed class WrappedEnumAttribute : Attribute
    {
        /// <summary><see cref="WrappedEnumAttribute"/> クラスの新しいインスタンスを初期化します。</summary>
        /// <param name="enumType">列挙型を表す <see cref="Type"/> オブジェクト。</param>
        public WrappedEnumAttribute(Type enumType)
        {
            if (enumType.IsEnum)
            {
                this.enumType = enumType;
            }
            else
            {
                throw new ArgumentException("enumType must of a type of enum", "enumType");
            }
        }
        /// <summary>列挙型を表す <see cref="Type"/> オブジェクトを取得します。</summary>
        public Type EnumType
        {
            get
            {
                return enumType;
            }
        }
        private Type enumType;
    }
}